昨天我們已經做好事前準備了,那我們今天就回到views裡面,來撰寫我們的程式吧!
而我們這次使用的函式是Django裡的send_mail(),而他的格式是這樣:
send_mail(
'Subject here',
'Here is the message.',
'from@example.com',
['to@example.com'],
fail_silently=False,)
第一個要輸入的是你的標題,第二個是你裡面要輸入的訊息,第三個是寄件人的電子信箱,第四個是收件人的電子信箱。
知道他的格式後,我們就來開始撰寫我們的程式了吧!
而以下是我幫大家先寫好的程式,大家可以先試試看效果!
from django.http.response import JsonResponse
from django.shortcuts import render
from django.core.mail import send_mail
from Test import settings
import json
from django.views.decorators.csrf import csrf_exempt
# Create your views here.
@csrf_exempt
def send(request):
if request.method == "POST":
data = request.body
data = json.loads(data)
try:
sender = settings.DEFAULT_FROM_EMAIL
receiver = "test@gmail.com"
title = "嘗試發送信件"
message = "恭喜你成功發送訊息!"
send_mail(title, message, sender, [receiver])
mess = {"message":"0"}
except Exception as e:
print(e)
mess = {"message":"1"}
return JsonResponse(mess)
上面先把一些需要的東西import上去後,第一行的@csrf_exemp是表示不加入csrf的保護,不打這串的話可能會報錯。
之後把我們的request請求方法設定成POST,接下來設定data的型態,設定完後,就開始設定sned_mail()裡面需要的變數了。
大家應該還記得前幾天有先在setting設定我們的資料嗎?而sender就是設定成DEFAULT_FROM_EMAIL,receiver就輸入自己要接收信件的信箱,後面的title及message就可以依照自己的想法寫。
而mess這個變數是會顯示在Postman上面的,如果顯示0的話就代表已經成功,顯示1的話就可能程式有發生什麼錯誤,需要Debug。
這邊設定完了之後,要記得到urls設定路徑:
設定完後,就把伺服器run起來。之後回到Postman輸入完網址後,按send後,應該會出現下面的畫面:
而下面message出現0就代表成功發送了,可以到你的信箱看看有沒有收到信件。
收到這封信就代表你已經成功了!
今天也就差不多到這邊了!這系列也差不多到了尾聲了!
謝謝各位這幾天的支持,其他的我們就留在明天的結語吧!
大家掰掰~